import pymysql

env = 'dev'


class DBConfig:
    def __init__(self):
        self.HOST = "localhost"
        self.PORT = 3306
        self.DBNAME = "notebook"
        self.USER = "root"
        self.PASSWORD = "root"

        # 数据库连接编码
        self.CHARSET = "utf8"
        # mincached : 启动时开启的闲置连接数量(缺省值 0 开始时不创建连接)
        self.MIN_CACHED = 3
        # maxcached : 连接池中允许的闲置的最多连接数量(缺省值 0 代表不闲置连接池大小)
        self.MAX_CACHED = 5
        # maxshared : 共享连接数允许的最大数量(缺省值 0 代表所有连接都是专用的)如果达到了最大数量,被请求为共享的连接将会被共享使用
        self.MAX_SHARED = 10
        # maxconnecyions : 创建连接池的最大数量(缺省值 0 代表不限制)
        self.MAX_CONNECYIONS = 20
        # blocking : 设置在连接池达到最大数量时的行为(缺省值 0 或 False 代表返回一个错误<toMany......> 其他代表阻塞直到连接数减少,连接被分配)
        self.BLOCKING = True
        # maxusage : 单个连接的最大允许复用次数(缺省值 0 或 False 代表不限制的复用).当达到最大数时,连接会自动重新连接(关闭和重新打开)
        self.MAX_USAGE = 0
        # setsession : 一个可选的SQL命令列表用于准备每个会话，如["set datestyle to ...", "set time zone ..."]
        self.SET_SESSION = ["SET AUTOCOMMIT = 1"]
        # creator : 使用连接数据库的模块
        self.CREATOR = pymysql
        # 返回连接池时应该怎样重置连接(False或None将只回滚明确调用了begin()开启的事务，默认值为True，出于安全考虑总是会回滚)
        self.RESET = True


db = DBConfig()


if __name__ == '__main__':
    # print(db.__dict__)
    pass
